====== pageStop() ======

''void **pageStop**()''

Die Funktion verhindert, dass weitere Inhalte der Fragebogen-Seite angezeigt bzw. ausgeführt werden.

Wenn innerhalb eines PHP-Code Elements im Fragebogen noch weitere Befehl folgen, so unterbindet ''pageStop()'' auch deren Ausführung.


===== Beispiel: Screenout =====

Im folgenden Beispiel wird ''pageStop()'' im Zusammenspiel mit einem Screen-Out Filter verwendet. So können auf der Screen-Out Seite noch weitere Inhalte (z.B. Fragen) platziert werden.

Der Filter zeigt Personen, die bei Frage SK01 mit dem Wert 1 (jünger als 18) oder 7 (älter als 65) geantwortet haben, den Textbaustein "screenout" und blendet den Weiter- und Zurück-Knopf aus, sodass das Interview faktisch beendet wird.

Unter diesem PHP-Code können weitere Elemente (Fragen, PHP-Code, ...) auf der Seite platziert werden, auch per "Hineinziehen" (Drag & Drop) in die Fragebogen-Seite. Diese Elemente werden den abgewiesenen Teilnehmer dank ''pageStop()'' nicht mehr angezeigt.

<code php>
if ((value('SK01') == 1) or (value('SK01') == 7)) {
  text('screenout');
  buttonHide();
  pageStop();
}
</code>

Ohne ''pageStop()'' müsste man die weiteren Element in den Filter aufnehmen...

<code php>
if ((value('SK01') == 1) or (value('SK01') == 7)) {
  text('screenout');
  buttonHide();
} else {
  question('AB01');
  question('AB02');
}
</code>

... oder man würde die Inhalte auf eine zusätzliche Seite (nach der aktuellen) legen, sodass auf der Seite keine Inhalte mehr folgen.


<code php>
if ((value('SK01') == 1) or (value('SK01') == 7)) {
  text('screenout');
  buttonHide();
} else {
  goToPage('next');
}
</code>


===== Beispiel: Zeitraum einschränken =====

Mitunter verwendet man im Befragungsprojekt mehrere Fragebögen -- und nicht alle sollen für den selben Zeitraum verfügbar sein. Zugleich lässt sich in den **Projekt-Einstellungen** nur ein Befragungszeitraum für das gesamte Befragungsprojekt festlegen.

Mit einem kleinen PHP-Filter auf der ersten Seite des Fragebogens können Sie festlegen, dass außerhalb eines definierten Zeitraums nur eine Fehlermeldung angezeigt wird.

Legen Sie im **Fragenkatalog** in einer Rubrik Ihrer Wahl einen neuen Text an. Im folgenden Beispiel wird davon ausgegangen, dass der Text die Kennung TX02 hat. Der folgende PHP-Code sorgt dafür, dass der Fragebogen nur im Zeitraum zwischen dem 01.04.2021 und dem 30.06.2021 ausgefüllt werden kann.

<code php>
if ((time() < strtotime('2021-04-01')) || (time() >= strtotime('2021-07-01'))) {
  text('TX02');
  buttonHide();
  pageStop();
}
</code>

Der in den Projekt-Einstellungen festgelegte Befragungszeitraum muss vor dem 1.4.2021 starten und/oder nach dem 30.06.2021 enden, damit der Filter aktiv werden kann.

Genauso kann man einschränken, dass der Fragebogen nur in einem bestimmten Zeitfenster ausgefüllt werden kann. Der folgende PHP-Code erlaubt das Ausfüllen nur von 9 bis 11 Uhr.

<code php>
if ((date('h') < 9) || (date('h') > 11)) {
  text('TX02');
  buttonHide();
  pageStop();
}
</code>